//
//  WelcomeViewController.swift
//  Weobo
//
//  Created by 史亚洲 on 16/1/16.
//  Copyright © 2016年 itcast. All rights reserved.
//

import UIKit
import SnapKit
import SDWebImage

class WelcomeViewController: UIViewController {
    
    override func loadView() {
        view = backImageView
    }

    
    
    override func viewDidLoad() {
        super.viewDidLoad()

        setupUI()
        // Do any additional setup after loading the view.
    }
  
//MARK:欢迎页面添加动画效果,不推荐在viewDidLoad/loadView中,推荐在ViewDidAppear
    override func viewDidAppear(animated: Bool) {
        super.viewDidAppear(animated)
        
        
        //执行动画效果
        showAnimation()
    }
    
    
    
//MARK:给子视图添加约束
    private func setupUI() {
    
        self.view.addSubview(headImageView)
        self.view.addSubview(welcomeLabel)
    
    headImageView.snp_makeConstraints { (make) -> Void in
        make.bottom.equalTo(self.view.snp_bottom).offset(-160)
        make.centerX.equalTo(self.view.snp_centerX)
        make.size.equalTo(CGSize(width: 90, height: 90))
        }
        
    welcomeLabel.snp_makeConstraints { (make) -> Void in
        make.top.equalTo(headImageView.snp_bottom).offset(10)
        make.centerX.equalTo(headImageView.snp_centerX)
        }
        
        //1.注意:需要把用户头像的进行圆角设置
        headImageView.layer.cornerRadius = 45
        headImageView.layer.masksToBounds = true
        
        
        //2.隐藏文案,能见度
        welcomeLabel.alpha = 0
        
        //3.显示用户头像
        headImageView.sd_setImageWithURL(UserAccountViewModel().headImageURL, placeholderImage: UIImage(named: "avatar_default_big"))

    
    }
//MARK:显示动画效果
    private func showAnimation() {
        /* 在动画闭包中修改 头像的约束
        更新某一条已经添加过的约束  如果该约束不存在 会自动添加该约束
        
        1.usingSpringWithDamping: 弹簧系数  0.1 ~ 1  越小 越弹
        2.initialSpringVelocity 加速度
        options:动画可选项  OC按位枚举 swift: 数组
        
        弹簧系数设置准则 (弹簧系数 * 10 ~= 加速度)
        
        使用自动布局 + 动画闭包 ====> 强制刷新视图*/
        
        let offset = -UIScreen.mainScreen().bounds.height + 160
        
        self.headImageView.snp_updateConstraints(closure: { (make) -> Void in
            make.bottom.equalTo(self.view.snp_bottom).offset(offset)
            
        })
        
        UIView.animateWithDuration(2, delay: 0, usingSpringWithDamping: 0.98, initialSpringVelocity: 9.8, options: [], animations: { () -> Void in
           
            
            //使用自动布局 + 动画闭包 ====> 强制刷新视图
            self.view.layoutIfNeeded()
            
            }) { (_) -> Void in
                
                //显示文案
                UIView.animateWithDuration(0.6, animations: { () -> Void in
                    self.welcomeLabel.alpha = 1.0
                    }, completion: { (_) -> Void in
                        print("OK")
                        
                        //发出显示首页的通知
                        NSNotificationCenter.defaultCenter().postNotificationName(WBSwitchRootVC, object: nil)
                        print("come Here")
                })
            
        }
        
        
    }


    
//MARK:懒加载欢迎视图
    //1.背景图片视图
    private lazy var backImageView: UIImageView = UIImageView(image: UIImage(named: "ad_background"))
    
    //2.用户头像
    private lazy var headImageView: UIImageView = UIImageView()
    
//    //3.文本
//    private lazy var welcomeLabel: UILabel = {
//        
//        let l = UILabel()
//        l.textColor = UIColor.darkGrayColor()
//        l.text =  (UserAccountViewModel().userName ?? "") + " 欢迎归来"
//        l.font = UIFont.systemFontOfSize(18)
//    
//    
//    l.sizeToFit()
//    return l
//    }()
    
    //3.文本
    private lazy var welcomeLabel: UILabel = UILabel(title: (UserAccountViewModel().userName ?? "") + " 欢迎归来", fontSize: 18, color: UIColor.darkGrayColor())
    
  

}
